package br.com.salao.mb;

import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.model.SelectItem;

import br.com.salao.entity.Cidade;
import br.com.salao.entity.Estado;
import br.com.salao.entity.Pais;
import br.com.salao.model.EstadoModel;
import br.com.salao.model.PaisModel;

@ManagedBean
@SessionScoped
public class CidadeMB {
	
	private Cidade cidade;
	@SuppressWarnings("unused")
	private Pais pais;
	private Estado estado;
	private Pais paisSelected;
	private Estado estadoSelected;
	private List<SelectItem> listPais;
	
	
	public CidadeMB(){
		pais = new Pais();
		estado = new Estado();
		cidade = new Cidade();
		paisSelected = new Pais();
		estadoSelected = new Estado();
		getPaises();
	}
	
	public String incluir(){
		
		return "menuAdm";
	}
	
	//Monta list de itens - Pais
	public List<SelectItem> getPaises() { 
		
		
		PaisModel model = new PaisModel();
		List<Pais> pa = null;
		
		try{
			pa = model.listarPaises();
		}catch (Exception e) {
			e.printStackTrace();
		}
		
		if(pa != null){
			
			listPais = new ArrayList<SelectItem>(pa.size());
			
			for (int i = 0; i < pa.size(); i++) {
				listPais.add(new SelectItem(pa.get(i).getId(),pa.get(i).getNome()));
			}
			
		}
		
		return listPais;
	}
	
	//Monta list de itens - estado
	public List<SelectItem> getEstados() {  
		  
		List<Estado> es = null;  
        List<SelectItem> listEstado = null;  
        EstadoModel model = new EstadoModel();

        try {  
                es = model.buscarEstadosByIdPais(paisSelected.getId());//devolve um array de entidades  
        } catch (Exception e) {  
                e.printStackTrace();  
        }  

        if (es != null) {  

        	listEstado = new ArrayList<SelectItem>(es.size());  

                for (int i = 0; i < es.size(); i++) {  
                        System.out.println(es.get(i));  
                        listEstado.add(new SelectItem(es.get(i).getId(), es.get(i).getNome())); 

                }  
        }  
        return listEstado;  
} 

	
	//gets e sets
	
	public Cidade getCidade() {
		return cidade;
	}

	public void setCidade(Cidade cidade) {
		this.cidade = cidade;
	}

	public Estado getEstado() {
		return estado;
	}

	public void setEstado(Estado estado) {
		this.estado = estado;
	}

	public Pais getPaisSelected() {
		return paisSelected;
	}

	public void setPaisSelected(Pais paisSelected) {
		this.paisSelected = paisSelected;
	}

	public Estado getEstadoSelected() {
		return estadoSelected;
	}

	public void setEstadoSelected(Estado estadoSelected) {
		this.estadoSelected = estadoSelected;
	}

	public void setPais(Pais pais) {
		this.pais = pais;
	}

	public List<SelectItem> getListPais() {
		return listPais;
	}

	public void setListPais(List<SelectItem> listPais) {
		this.listPais = listPais;
	}

	public Pais getPais() {
		return pais;
	}	
	
}
